The present invention relates generally to the field of dispersed storage computer networks, and more particularly to repairing partially completed transactions from fast consensus protocol in dispersed storage computer networks.
A dispersed, or distributed, storage computer network (DSN) is a computer network where information is stored on more than one node or DS unit within the network, often in a replicated fashion. In a DSN, when more than one proposer attempts to update the same revision/version of a data source at the same time, contention arises. The proposers in this case are generally two or more DS processing units attempting to update the same data source (segment or data source representing the meta-data object) at the same time. Since strong consistency is a desirable property for a DSN, some form of consensus protocol is generally required. Typically, if all actors in the system follow such a protocol, strong consistency is insured. In addition, it is advantageous for consensus to be achievable in a single round-trip in the contented case while performing acceptably.
Protocols, such as Paxos, were developed to establish a distinguished client using an out-of-band process to deal with consensus issues. A goal of Paxos is for some number of peers to reach an agreement on a value; Paxos guarantees that if one peer believes some value has been agreed upon by a majority, the majority will never agree on a different value. The protocol is designed such that any agreement must go through a majority of nodes. The out-of-band process of Paxos may add overhead to the DSN because round trips may be required. Strong consistency properties are achieved during an overwrite of a specific revision or the initial right of some sort's name in DSN memory (sometimes called “a contest”). Multiple DS processing units participate in the same contest if they attempt to update the same revision of a data source stored in the same DSN memory. A variant of Paxos, called “Fast Paxos” was developed to enable consensus to be established in a single network round trip time (RTT) in the ideal case of no contention. Fast Paxos generally has separate distinct phases for: 1) electing a leader; and 2) proposing new values for consensus.